#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <pthread.h>
void* Rounting(void* arg)
{
    char* msg=(char*)arg;
    int count=0;
    while(count<5)
    {
        printf("%s",msg);
        sleep(1);
        count++;
    }
    printf("Over\n");
    return (void*)10;
}
int main(void)
{
    int n=5;
    pthread_t tid[n];
    for(int i=0;i<n;i++)
    {
        char* buffer=(char*)malloc(sizeof(char)*64);
        sprintf(buffer,"msg:%d,pid:%d,ppid:%d\n",i,getpid(),getppid());
        pthread_create(&tid[i],NULL,Rounting,(void*)buffer);
    }//创建多执行流以及多执行流执行其相应的例程


    for(int i=0;i<n;i++)//主线程继续往下执行，检测到线程结束后，就会进行读取线程。
    {
        void* ret=NULL;
        pthread_join(tid[i],&ret);//主线程就会一直阻塞在这里，并且等待读取
        printf("Thread[%d] .... quit,code:%d\n",i,(int)ret);
        sleep(1);
    }
    while(1)
    {
        printf("main thread .... running\n");
        sleep(1);
    }
    return 0;
}
